<?php

/**
 * BbPersona form.
 *
 * @package    ingenyo-biblio
 * @subpackage form
 * @author     Your name here
 */
class BbPersonaForm extends BaseBbPersonaForm
{

  public function configure()
  {
    
    $this->getWidget('bb_persona_estado_list')->setOption('multiple',false);
    $this->getValidator('fechaBajaPersona')->setOption('required', false);
    $this->setLabels();

  }

  public function setLabels()
  {
    $this->getWidget('NombresPersona')->setLabel('Nombre');
    $this->getWidget('ApellidoPersona')->setLabel('Apellido');
    $this->getWidget('idTipoDocumento')->setLabel('Tipo documento');
    $this->getWidget('nroDocumentoPersona')->setLabel('Nro documento');
    $this->getWidget('CuitPersona')->setLabel('Cuit');
    $this->getWidget('SexoPersona')->setLabel('Sexo');
    $this->getWidget('fechaNacimientoPersona')->setLabel('fecha nacimiento');
    $this->getWidget('estadoCivilPersona')->setLabel('Estado civil');
    $this->getWidget('MailPersona')->setLabel('Mail');
    $this->getWidget('bb_persona_estado_list')->setLabel('Estado');
    $this->getWidget('fechaBajaPersona')->setLabel('Fecha Baja');
    $this->getWidget('bb_persona_tipo_persona_list')->setLabel('Tipo de persona');
  }

  public function saveBbPersonaEstadoList($con = null)
  {
    if (!$this->getObject()->isNew())
    {
      $persona_estado = BbPersonaEstadoPeer::getUltimoEstadoByPersona($this->getObject()->getId());
      if ($persona_estado)
      {
        $persona_estado->setFechaHasta(time());
        $persona_estado->save($con);
      }
    }
    parent::saveBbPersonaEstadoList($con);

  }

  public function saveBbPersonaTipoPersonaList($con = null)
  {
    if (!$this->getObject()->isNew())
    {
      BbPersonaTipoPersonaPeer::deleteByPersona($this->getObject()->getId());
    }
    $id_tipos_persona = $this->getValue('bb_persona_tipo_persona_list');
    foreach ($id_tipos_persona as $id_tipo_persona)
    {
      $tipo_persona = new BbPersonaTipoPersona();
      $tipo_persona->setIdpersona($this->getObject()->getId());
      $tipo_persona->setIdtipopersona($id_tipo_persona);
      $tipo_persona->save();
    }

  }

}